package com.shun.media.action;


import com.shun.common.R;
import com.shun.media.dto.GjydFilmSceneDto;
import com.shun.media.dto.SceneFileDto;
import com.shun.media.service.IGjydFilmSceneService;
import com.shun.oss.common.RS_TYPE;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * <p>
 * 拍摄场景(位点) 前端控制器
 * </p>
 *
 * @author clever
 * @since 2021-10-18
 */
@Slf4j
@RestController
@RequestMapping("/media/scene/v1")
public class GjydFilmSceneAction {

    @Autowired
    private IGjydFilmSceneService sceneService;

    /**
     * 分页查询
     * @return
     */
    @PostMapping("page")
    public R pageScene(@RequestBody GjydFilmSceneDto sceneDto){
        log.debug("分页查询条件:{}",sceneDto);
        return sceneService.pageScene(sceneDto);
    }

    /**
     * 图片文件查询
     * @return
     */
    @GetMapping("pageImg")
    public R pageSceneImg(@RequestBody SceneFileDto sceneFileDto){
        log.debug("场景查询条件:{}",sceneFileDto);
        return sceneService.pageSceneFile(sceneFileDto,RS_TYPE.IMG.getType());
    }

    /**
     * 视频文件查询
     * @return
     */
    @GetMapping("pageVideo")
    public R pageSceneVideo(@RequestBody SceneFileDto sceneFileDto){
        log.debug("场景查询条件:{}",sceneFileDto);
        return sceneService.pageSceneFile(sceneFileDto,RS_TYPE.VIDEO.getType());
    }

    /**
     * 摄影创建资源文件
     * @return
     */
    @PostMapping("addByFilm")
    public R addSceneByFilm(@RequestBody GjydFilmSceneDto sceneDto){
        log.debug("场景信息：{}",sceneDto);
        return sceneService.addScence(sceneDto);
    }

    /**
     * 管理者创建资源文件
     * @return
     */
    @PostMapping("addByGjyd")
    public R addSceneByGjyd(@RequestBody GjydFilmSceneDto sceneDto){
        log.debug("场景信息：{}",sceneDto);
        return sceneService.addScence(sceneDto);
    }

    /**
     * 人工审核
     * @return
     */
    @PostMapping("auth")
    public R authScene(@RequestBody GjydFilmSceneDto sceneDto){
        log.debug("场景信息：{}",sceneDto);
        return sceneService.addScence(sceneDto);
    }

    /**
     * 新增附加图片文件
     * @return
     */
    @PostMapping("appendImgFiles")
    public R addSceneImgFiles(@RequestBody SceneFileDto fileDto){
        log.debug("id：{}",fileDto.getIds().size());
        return sceneService.appendFiles(fileDto, RS_TYPE.IMG.getType());
    }

    /**
     * 新增附加视频文件
     * @return
     */
    @PostMapping("appendVideoFiles")
    public R addSceneVideoFiles(@RequestBody SceneFileDto fileDto){
        log.debug("id：{}",fileDto.getIds().size());
        return sceneService.appendFiles(fileDto, RS_TYPE.VIDEO.getType());
    }

    /**
     * 更新图片文件
     * @return
     */
    @PostMapping("editImgFiles")
    public R editSceneImgFiles(@RequestBody SceneFileDto fileDto){
        log.debug("id：{}",fileDto.getIds().size());
        return sceneService.editFiles(fileDto, RS_TYPE.IMG.getType());
    }

    /**
     * 更新视频文件
     * @return
     */
    @PostMapping("editVideoFiles")
    public R editSceneVideoFiles(@RequestBody SceneFileDto fileDto){
        log.debug("id：{}",fileDto.getIds().size());
        return sceneService.editFiles(fileDto, RS_TYPE.VIDEO.getType());
    }

    /**
     * 修改
     * @return
     */
    @PostMapping("editInfo")
    public R editScene(@RequestBody GjydFilmSceneDto sceneDto){
        log.debug("修改信息:{}",sceneDto);
        return sceneService.updateInfo(sceneDto);
    }

    /**
     * 删除
     * @return
     */
    @PostMapping("del")
    public R delScene(String sceneId){
        log.debug("sceneId:{}",sceneId);
        return sceneService.delSceneById(sceneId);
    }
}